﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GameEngine.MoveHistory
{
    /// <summary>
    /// History model interface
    /// </summary>
    internal interface IMoveHistoryModel
    {
        GameBoard GameBoard
        { get; set; }

        void GetMoveList(List<Move> list);
        void GetMovesDone(List<Move> list);
        void GetMovesToDo(List<Move> list);
        void ClearMoves();
        void ClearMovesToDo();
        void AddMove(Move move);
        int GetMovesDoneCount();
        int GetMoveIndex();
        void MoveToIndex(int idx);
        bool CanMoveForward();
        bool CanMoveBack();
        void MoveBack();
        void MoveForward();
    }
}
